最小二乘法
Least Squares Method
最小化误差平方和 来求解参数
最小二乘法是一切误差最小化问题的基础,是 SLAM、机器学习、数据拟合、参数估计的核心数学工具。
基础知识
目标函数:
其中:
:第 个观测值 :预测值,取决于待求参数 和自变量 :第 个残差(观测误差)
类型 | 误差特性 | 解法 |
---|---|---|
线性最小二乘 | 误差关于参数是线性的 | 解析解(直接计算) |
非线性最小二乘 | 误差关于参数是非线性的 | 迭代法(数值优化) |
一、线性最小二乘法(解析解)
微积分的角度
线性代数的角度
向量投影
对
则求解
使得
概率论的角度
二、非线性最小二乘法(迭代-数值优化)
非线性最小二乘法 无法直接求解析解,必须使用数值迭代法。
- 初始化参数
- 计算当前残差
和雅可比矩阵 - 构造线性方程,计算步长
- 判断是否收敛(如步长足够小,残差变化足够小)
- 更新参数
- 重复步骤 2 ~ 5 直到收敛
一阶泰勒展开(线性化)
其中:
高斯-牛顿法(Gauss-Newton)
通过线性化,将优化转化为如下问题:
解得:
这是一个 线性方程组 ,解出
不断迭代,直到收敛。
Levenberg-Marquardt (LM) 法(更稳定)
高斯-牛顿法可能遇到:
- 步长过大导致发散
奇异无法求逆
LM 法引入阻尼因子,将更新方程改为:
特点:
- 类似于梯度下降法,步长更安全
- 动态调整
保证收敛速度与稳定性
Dogleg 法(结合 GN 与梯度下降)
适用于稀疏大规模问题,结合两种步长,提升收敛效率。
三、实际应用
非线性最小二乘法库: g2o Ceres Solver
其中:
:机器人位姿节点 :观测数据 :通过运动模型计算的预测观测 :信息矩阵
核心任务:利用非线性最小二乘法优化整张图,找到最一致的位姿和地图。